home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
By Popular Request 2.0
/
By Popular Request 2.0 (Arsenal Computer).ISO
/
amiga_1
/
atcpsd40.lha
/
AmiTCP-4.0-gcc
/
netinclude
/
devices
/
sana2.i
< prev
next >
Wrap
Text File
|
1995-04-07
|
8KB
|
243 lines
IFND SANA2_SANA2DEVICE_I
SANA2_SANA2DEVICE_I SET 1
**
** $Filename: devices/sana2.i $
** $Revision: 1.16 $
** $Date: 94/02/17 14:28:38 $
**
** Structure definitions for SANA-II devices.
**
** (C) Copyright 1991 Commodore-Amiga Inc.
** All Rights Reserved
**
IFND EXEC_TYPES_I
INCLUDE "exec/types.i"
ENDC
IFND EXEC_PORTS_I
INCLUDE "exec/ports.i"
ENDC
IFND EXEC_IO_I
INCLUDE "exec/io.i"
ENDC
IFND EXEC_ERRORS_I
INCLUDE "exec/errors.i"
ENDC
IFND DEVICES_TIMER_I
INCLUDE "devices/timer.i"
ENDC
IFND UTILITY_TAGITEM_I
INCLUDE "utility/tagitem.i"
ENDC
SANA2_MAX_ADDR_BITS EQU 128
SANA2_MAX_ADDR_BYTES EQU ((SANA2_MAX_ADDR_BITS+7)/8)
STRUCTURE IOSana2Req,0
STRUCT IOS2_REQ,IO_SIZE
ULONG IOS2_WIREERROR ; wire type specific error
ULONG IOS2_PACKETTYPE ; packet type
STRUCT IOS2_SRCADDR,SANA2_MAX_ADDR_BYTES ; source address
STRUCT IOS2_DSTADDR,SANA2_MAX_ADDR_BYTES ; dest address
ULONG IOS2_DATALENGTH ; length of packet data
APTR IOS2_DATA ; packet data (not touched by driver!)
APTR IOS2_STATDATA ; statistics data pointer
APTR IOS2_BUFFERMANAGEMENT ; see SANA-II OpenDevice adoc
LABEL IOS2_SIZE
;
; equates for the IO_FLAGS field
;
SANA2IOB_RAW EQU 7 ; raw packet IO requested
SANA2IOF_RAW EQU (1<<SANA2IOB_RAW)
SANA2IOB_BCAST EQU 6 ; broadcast packet (received)
SANA2IOF_BCAST EQU (1<<SANA2IOB_BCAST)
SANA2IOB_MCAST EQU 5 ; multicast packet (received)
SANA2IOF_MCAST EQU (1<<SANA2IOB_MCAST)
SANA2IOB_QUICK EQU IOB_QUICK ; quick IO requested (0)
SANA2IOF_QUICK EQU IOF_QUICK
;
; equates for OpenDevice()
;
SANA2OPB_MINE EQU 0 ; exclusive access requested
SANA2OPF_MINE EQU (1<<SANA2OPB_MINE)
SANA2OPB_PROM EQU 1 ; promiscuous mode requested
SANA2OPF_PROM EQU (1<<SANA2OPB_PROM)
S2_Dummy EQU (TAG_USER+$B0000)
S2_COPYTOBUFF EQU S2_Dummy+1
S2_COPYFROMBUFF EQU S2_Dummy+2
S2_PACKETFILTER EQU S2_Dummy+3
STRUCTURE SANA2DEVICEQUERY,0
; Standard information
ULONG S2DQ_SIZEAVAILABLE ; bytes available
ULONG S2DQ_SIZESUPPLIED ; bytes supplied
ULONG S2DQ_FORMAT ; this is type 0
ULONG S2DQ_DEVICELEVEL ; this document is level 0
; Common information
UWORD S2DQ_ADDRFIELDSIZE ; address size in bits
ULONG S2DQ_MTU ; maximum packet data size
ULONG S2DQ_BPS ; line rate (bits/sec)
ULONG S2DQ_HARDWARETYPE ; what the wire is
; Format specific information
LABEL S2DQ_SIZE
;
; defined SANA-II hardware types
;
S2WIRETYPE_ETHERNET EQU 1
S2WIRETYPE_IEEE802 EQU 6
S2WIRETYPE_ARCNET EQU 7
S2WIRETYPE_LOCALTALK EQU 11
S2WIRETYPE_DYLAN EQU 12
S2WIRETYPE_AMOKNET EQU 200
S2WIRETYPE_LIANA EQU 202
S2WIRETYPE_PPP EQU 253
S2WIRETYPE_SLIP EQU 254
S2WIRETYPE_CSLIP EQU 255
S2WIRETYPE_PLIP EQU 420
STRUCTURE SANA2PACKETTYPESTATS,0
ULONG S2PTS_TXPACKETS ; transmitted count
ULONG S2PTS_RXPACKETS ; received count
ULONG S2PTS_TXBYTES ; bytes transmitted count
ULONG S2PTS_RXBYTES ; bytes received count
ULONG S2PTS_PACKETSDROPPED ; packets dropped count
LABEL S2PTS_SIZE
STRUCTURE SANA2SPECIALSTATRECORD,0
ULONG S2SSR_TYPE ; statistic identifier
ULONG S2SSR_COUNT ; the statistic
APTR S2SSR_STRING ; statistic name
LABEL S2SSR_SIZE
STRUCTURE SANA2SPECIALSTATHEADER,0
ULONG S2SSH_RECORDCOUNTMAX ; room available
ULONG S2SSH_RECORDCOUNTSUPPLIED ; number supplied
LABEL S2SSH_SIZE
STRUCTURE SANA2DEVICESTATS,0
ULONG S2DS_PACKETSRECEIVED ; received count
ULONG S2DS_PACKETSSENT ; transmitted count
ULONG S2DS_BADDATA ; bad packets received
ULONG S2DS_OVERRUNS ; hardware miss count
ULONG S2DS_UNUSED ; currently unused field
ULONG S2DS_UNKNOWNTYPESRECEIVED ; orphan count
ULONG S2DS_RECONFIGURATIONS ; network reconfigurations
STRUCT S2DS_LASTSTART,TV_SIZE ; time of last online
LABEL S2DS_SIZE
;
; Device Commands
;
S2_START EQU (CMD_NONSTD)
S2_DEVICEQUERY EQU (S2_START+0)
S2_GETSTATIONADDRESS EQU (S2_START+1)
S2_CONFIGINTERFACE EQU (S2_START+2)
S2_ADDMULTICASTADDRESS EQU (S2_START+5)
S2_DELMULTICASTADDRESS EQU (S2_START+6)
S2_MULTICAST EQU (S2_START+7)
S2_BROADCAST EQU (S2_START+8)
S2_TRACKTYPE EQU (S2_START+9)
S2_UNTRACKTYPE EQU (S2_START+10)
S2_GETTYPESTATS EQU (S2_START+11)
S2_GETSPECIALSTATS EQU (S2_START+12)
S2_GETGLOBALSTATS EQU (S2_START+13)
S2_ONEVENT EQU (S2_START+14)
S2_READORPHAN EQU (S2_START+15)
S2_ONLINE EQU (S2_START+16)
S2_OFFLINE EQU (S2_START+17)
S2_END EQU (S2_START+18)
;
; defined errors for IO_ERROR
;
S2ERR_NO_ERROR EQU 0 ; peachy-keen
S2ERR_NO_RESOURCES EQU 1 ; resource allocation failure
S2ERR_BAD_ARGUMENT EQU 3 ; garbage somewhere
S2ERR_BAD_STATE EQU 4 ; inappropriate state
S2ERR_BAD_ADDRESS EQU 5 ; who?
S2ERR_MTU_EXCEEDED EQU 6 ; too much to chew
S2ERR_NOT_SUPPORTED EQU 8 ; command not supported by hardware
S2ERR_SOFTWARE EQU 9 ; software error detected
S2ERR_OUTOFSERVICE EQU 10 ; driver is offline
S2ERR_TX_FAILURE EQU 11 ; transmission attempt failed
;SEE ALSO <exec/errors.i>
;
; defined errors for IOS2_WIREERROR
;
S2WERR_GENERIC_ERROR EQU 0 ; no specific info available
S2WERR_NOT_CONFIGURED EQU 1 ; unit not configured
S2WERR_UNIT_ONLINE EQU 2 ; unit is currently online
S2WERR_UNIT_OFFLINE EQU 3 ; unit is currently offline
S2WERR_ALREADY_TRACKED EQU 4 ; protocol already tracked
S2WERR_NOT_TRACKED EQU 5 ; protocol not tracked
S2WERR_BUFF_ERROR EQU 6 ; buffer mgmt func returned error
S2WERR_SRC_ADDRESS EQU 7 ; source address problem
S2WERR_DST_ADDRESS EQU 8 ; destination address problem
S2WERR_BAD_BROADCAST EQU 9 ; broadcast address problem
S2WERR_BAD_MULTICAST EQU 10 ; multicast address problem
S2WERR_MULTICAST_FULL EQU 11 ; multicast address list full
S2WERR_BAD_EVENT EQU 12 ; unsupported event class
S2WERR_BAD_STATDATA EQU 13 ; statdata failed sanity check
S2WERR_IS_CONFIGURED EQU 15 ; attempt to config twice
S2WERR_NULL_POINTER EQU 16 ; null pointer detected
S2WERR_TOO_MANY_RETRIES EQU 17 ; tx failed due to too many retries
S2WERR_RCVREL_HDW_ERR EQU 18 ; driver fixable hdw error
;
; defined events
;
S2EVENT_ERROR equ 1 ; error catch all
S2EVENT_TX equ 2 ; transmitter error catch all
S2EVENT_RX equ 4 ; receiver error catch all
S2EVENT_ONLINE equ 8 ; unit is in service
S2EVENT_OFFLINE equ 16 ; unit is not in service
S2EVENT_BUFF equ 32 ; buffer mgmt function error catch all
S2EVENT_HARDWARE equ 64 ; hardware error catch all
S2EVENT_SOFTWARE equ 128 ; software error catch all
ENDC SANA2_SANA2DEVICE_I